Many applications for smartphones use location information. Many smartphones include a global navigation satellite system (GNSS) such as the global positioning system (GPS). In an indoor environment, GNSS solutions do not always function accurately due to heavy attenuation of the satellite signals. Alternatives are available to GNSS such as sensor-based navigation and WiFi-based positioning.
Sensor-based solutions may include a micro-electrical-mechanical system (MEMS) sensor such as an accelerometer, an electronic compass (e-compass), gyroscope, etc. An issue in sensor-based solutions is sensor calibration. Sensors provide only user-displacement information, not absolute location. Thus, an initial position is required. The sensor can be used to determine position from that point forward as the smartphone becomes mobile. Measurement errors, however, eventually render the position determined from a sensor inaccurate.